package com.kwz.common.collections;

import com.kwz.common.CommonException;
import com.kwz.common.designpatterns.IUnknown;

/**
 * <p>
 *                  Visiteur pour un arbre
 * </p> 
 *
 * @author Cyril Chevalier
 * @since 1.11
 */
public interface ITreeVisitor extends IUnknown {

    /**
     * Visite un noeud
     * @param node Noeud
     * @throws CommonException
     * @since 1.11
     */
    public void visitNode(ITreeNode node) throws CommonException;
    
    /**
     * Visite les enfants d'un noeud
     * @param node Noeud
     * @throws CommonException
     * @since 1.11
     */
    public void visitChildren(ITreeNode node) throws CommonException;
    
}
